package com.jiangyg.mall.admin.enums;

import org.apache.commons.lang.StringUtils;

/**
 * 枚举描述：系统资源类型
 *
 * @author jiangyg
 * @version 2.0
 * @date 2020-07-30
 */
public enum ResourceType {

    /**
     * 目录
     */
    M("M", "目录"),

    /**
     * 页面
     */
    P("P", "页面"),

    /**
     * 请求操作
     */
    R("R", "请求操作"),

    /**
     * iframe页面
     */
    I("I", "iframe页面");

    /**
     * 代码
     */
    public final String code;

    /**
     * 名称
     */
    public final String name;

    ResourceType(String code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * 功能描述：根据代码判断值
     *
     * @param code 代码
     * @return ResourceType
     */
    public static ResourceType decide(String code) {
        for (ResourceType type : ResourceType.values()) {
            if (StringUtils.equalsIgnoreCase(code, type.code)) {
                return type;
            }
        }
        return null;
    }

    /**
     * 功能描述：获取目录、页面、Iframe类型
     *
     * @return 返回类型数组
     */
    public static ResourceType[] MPI() {
        return new ResourceType[]{ResourceType.M, ResourceType.P, ResourceType.I};
    }

    @Override
    public String toString() {
        return "ResourceType [code=" + this.code + ", name=" + this.name + "]";
    }

}
